package com.ruoyi.common.core.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 机构管理对象 tb_company
 * 
 * @author ruoyi
 * @date 2023-10-05
 */
public class Company extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 公司id */
    private Long id;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 公司编号 */
    @Excel(name = "公司编号")
    private String companyNumber;

    /** 公司性质 */
    @Excel(name = "公司性质")
    private Long companyQuality;

    /** 公司简称 */
    @Excel(name = "公司简称")
    private String companyAbbreviation;

    /** 成立时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "成立时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date establishTime;

    /** 负责人 */
    @Excel(name = "负责人")
    private String head;

    /** 电话 */
    private String phone;

    /** 电子邮箱 */
    private String email;

    /** 公司地点 */
    private String companyLocation;

    /** 邮编 */
    private String zip;

    /** 公司官网 */
    private String companyWebsite;

    /** 经营范围 */
    @Excel(name = "经营范围")
    private String businessScope;

    /** 公司公章 */
    private String companySeal;

    /** 删除状态 0存在1删除 */
    private String deleteStatus;

    /** 添加时间 */
    private Date addTime;

    /**
     * 公司性质名称
     */
    private String qualityName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName() 
    {
        return companyName;
    }
    public void setCompanyNumber(String companyNumber) 
    {
        this.companyNumber = companyNumber;
    }

    public String getCompanyNumber() 
    {
        return companyNumber;
    }
    public void setCompanyQuality(Long companyQuality) 
    {
        this.companyQuality = companyQuality;
    }

    public Long getCompanyQuality() 
    {
        return companyQuality;
    }
    public void setCompanyAbbreviation(String companyAbbreviation) 
    {
        this.companyAbbreviation = companyAbbreviation;
    }

    public String getCompanyAbbreviation() 
    {
        return companyAbbreviation;
    }
    public void setEstablishTime(Date establishTime) 
    {
        this.establishTime = establishTime;
    }

    public Date getEstablishTime() 
    {
        return establishTime;
    }
    public void setHead(String head) 
    {
        this.head = head;
    }

    public String getHead() 
    {
        return head;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setCompanyLocation(String companyLocation) 
    {
        this.companyLocation = companyLocation;
    }

    public String getCompanyLocation() 
    {
        return companyLocation;
    }
    public void setZip(String zip) 
    {
        this.zip = zip;
    }

    public String getZip() 
    {
        return zip;
    }
    public void setCompanyWebsite(String companyWebsite) 
    {
        this.companyWebsite = companyWebsite;
    }

    public String getCompanyWebsite() 
    {
        return companyWebsite;
    }
    public void setBusinessScope(String businessScope) 
    {
        this.businessScope = businessScope;
    }

    public String getBusinessScope() 
    {
        return businessScope;
    }
    public void setCompanySeal(String companySeal) 
    {
        this.companySeal = companySeal;
    }

    public String getCompanySeal() 
    {
        return companySeal;
    }
    public void setDeleteStatus(String deleteStatus) 
    {
        this.deleteStatus = deleteStatus;
    }

    public String getDeleteStatus() 
    {
        return deleteStatus;
    }
    public void setAddTime(Date addTime) 
    {
        this.addTime = addTime;
    }

    public Date getAddTime() 
    {
        return addTime;
    }

    public String getQualityName() {
        return qualityName;
    }

    public void setQualityName(String qualityName) {
        this.qualityName = qualityName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parentId", getParentId())
            .append("ancestors", getAncestors())
            .append("companyName", getCompanyName())
            .append("companyNumber", getCompanyNumber())
            .append("companyQuality", getCompanyQuality())
            .append("companyAbbreviation", getCompanyAbbreviation())
            .append("establishTime", getEstablishTime())
            .append("head", getHead())
            .append("phone", getPhone())
            .append("email", getEmail())
            .append("companyLocation", getCompanyLocation())
            .append("zip", getZip())
            .append("companyWebsite", getCompanyWebsite())
            .append("businessScope", getBusinessScope())
            .append("remark", getRemark())
            .append("companySeal", getCompanySeal())
            .append("deleteStatus", getDeleteStatus())
            .append("addTime", getAddTime())
            .append("updateTime", getUpdateTime())
            .append("qualityName",getQualityName())
            .toString();
    }
}
